package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import liquibase.pro.packaged.S;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 活动签到对象 activity_user_signature
 *
 * @author ruoyi
 * @date 2024-04-02
 */
public class ActivityUserSignature extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 活动id */
    @Excel(name = "活动id")
    private Long activityId;

    /** 签到人员id */
    @Excel(name = "签到人员id")
    private Long userId;

    /** 签到人姓名 */
    @Excel(name = "签到人姓名")
    private String userName;

    /** 签到人手机号码 */
    @Excel(name = "签到人手机号码")
    private String phonenumber;

    /** 签到人所在部门 */
    @Excel(name = "签到人所在部门")
    private String userDeptName;

    /** 签到人党员类别 */
    @Excel(name = "签到人党员类别")
    private String userPartyType;

    /** 签到人员党内职务 */
    @Excel(name = "签到人员党内职务")
    private String userPostId;


    /** 关联审批号 */
    @Excel(name = "关联审批号")
    private String approvalNum;

    /** 签到状态（0:未签到 1:正常签到 2:已请假 3:迟到 4:补签） */
    @Excel(name = "签到状态", readConverterExp = "0=:未签到,1=:正常签到,2=:已请假,3=:迟到,4=:补签")
    private String status;

    /** 签到时间 */
    @Excel(name = "签到时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String signatureTime;

    /** 删除标志（0删除 1存在） */
    private String delFlag;

    /**
     *  分页页数
     */
    private Integer pageNum;

    /**
     *  分页条数
     */
    private Integer pageSize;

    //党内职务名称
    private List<String> postNameList;

    //导出模板使用
    private String postNames;

    //党内职务id
    private List<String> postIdList;

    //迟到时间
    private Integer layTime;

    /** 会议类型（数据字典）*/
    private String activityType;


    /** 会议开始时间 */
    @Excel(name = "会议开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String activityStartTime;

    /** 会议截至时间 */
    @Excel(name = "会议截至时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String activityEndTime;

    private List<ActivityUserSignature> activityUserSignatureList;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setActivityId(Long activityId)
    {
        this.activityId = activityId;
    }

    public Long getActivityId()
    {
        return activityId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setPhonenumber(String phonenumber)
    {
        this.phonenumber = phonenumber;
    }

    public String getPhonenumber()
    {
        return phonenumber;
    }
    public void setUserDeptName(String userDeptName)
    {
        this.userDeptName = userDeptName;
    }

    public String getUserDeptName()
    {
        return userDeptName;
    }
    public void setUserPartyType(String userPartyType)
    {
        this.userPartyType = userPartyType;
    }

    public String getUserPartyType()
    {
        return userPartyType;
    }
    public void setUserPostId(String userPostId)
    {
        this.userPostId = userPostId;
    }

    public String getUserPostId()
    {
        return userPostId;
    }
    public void setApprovalNum(String approvalNum)
    {
        this.approvalNum = approvalNum;
    }

    public String getApprovalNum()
    {
        return approvalNum;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setSignatureTime(String signatureTime)
    {
        this.signatureTime = signatureTime;
    }

    public String getSignatureTime()
    {
        return signatureTime;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public List<String> getPostNameList() {
        return postNameList;
    }

    public void setPostNameList(List<String> postNameList) {
        this.postNameList = postNameList;
    }

    public List<String> getPostIdList() {
        return postIdList;
    }

    public void setPostIdList(List<String> postIdList) {
        this.postIdList = postIdList;
    }

    public Integer getLayTime() {
        return layTime;
    }

    public void setLayTime(Integer layTime) {
        this.layTime = layTime;
    }

    public List<ActivityUserSignature> getActivityUserSignatureList() {
        return activityUserSignatureList;
    }

    public void setActivityUserSignatureList(List<ActivityUserSignature> activityUserSignatureList) {
        this.activityUserSignatureList = activityUserSignatureList;
    }

    public String getPostNames() {
        return postNames;
    }

    public void setPostNames(String postNames) {
        this.postNames = postNames;
    }

    public String getActivityType() {
        return activityType;
    }

    public void setActivityType(String activityType) {
        this.activityType = activityType;
    }

    public String getActivityStartTime() {
        return activityStartTime;
    }

    public void setActivityStartTime(String activityStartTime) {
        this.activityStartTime = activityStartTime;
    }

    public String getActivityEndTime() {
        return activityEndTime;
    }

    public void setActivityEndTime(String activityEndTime) {
        this.activityEndTime = activityEndTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("activityId", getActivityId())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("phonenumber", getPhonenumber())
            .append("userDeptName", getUserDeptName())
            .append("userPartyType", getUserPartyType())
            .append("userPostId", getUserPostId())
            .append("approvalNum", getApprovalNum())
            .append("status", getStatus())
            .append("signatureTime", getSignatureTime())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
